<?php
class FotosController extends AppController {

	var $name = 'Fotos';
	var $helpers = array('Html', 'Form', 'Javascript','Flash');

//==========================================//
	function index()
	{
		$this->Foto->recursive = 0;
		$this->set('fotos', $this->paginate());
	}
//==========================================//
	function view($id = null) 
	{
		$data = $this->Session->read('User');
		if(!$data['User'])
		{
			$this->Session->setFlash('Debes iniciar Sesi&oacute;n o registrarte para modificar tus clasificados');
			$this->redirect('/login');
		}
		if (!$id)
		{
			$this->Session->setFlash(__('Invalid Foto.', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->set('foto', $this->Foto->read(null, $id));
	}
	
//==========================================//
	function add($id = null)
	 {
		$data = $this->Session->read('User');
		if(!$data['User'])
		{
			$this->Session->setFlash('Debes iniciar Sesi&oacute;n o registrarte para modificar tus clasificados');
			$this->redirect('/login');
		}
	 
		$foto = $this->Foto->Clasificado->findById($id);
		$fotos = $this->Foto->find('all',array('conditions'=>array('Foto.clasificado_id'=>$id)));

		if((count($fotos) > 4))
		{
		
				$this->Session->setFlash(__('Solo puede subir (5) fotos.', true));
				$this->redirect(array('controller'=>'clasificados','action'=>'edit',$id));
		}
		if (!empty($this->data)) {
			$this->Foto->create();
			
			if(!empty( $this->data['Foto']['file']['name'] ))
			{
			    $foto = $this->data['Foto']['file']  = $this->subir_archivo('img/clasificados/', $this->data['Foto']['file']);
			    $this->resize_img(WWW_ROOT . 'img/clasificados/'. $foto, 500, WWW_ROOT . 'img/clasificados/' . $foto) ;
			    $this->resize_img(WWW_ROOT . 'img/clasificados/'. $foto, 100, WWW_ROOT . 'img/clasificados/thumbs/' . $foto) ;
				
			}
			else
            {
                $this->data['Foto']['file'] ='no-photo.jpg';
            }
			
			if ($this->Foto->save($this->data)) {
				$this->Session->setFlash(__('Se guardo la foto', true));
				$this->redirect(array('controller'=>'clasificados','action'=>'edit',$this->data['Foto']['clasificado_id']));
			} else {
				$this->Session->setFlash(__('The Foto could not be saved. Please, try again.', true));
			}
		}
		if(!$this->Foto->Clasificado->check_destacado( $id ))
		{
			$this->Session->setFlash(__('El clasificado no es destacado no le puede agregar fotos o aun no lo has activado', true));
			$this->redirect(array('controller'=>'clasificados','action'=>'edit',$id));
		}
		
		$this->set('clasificado',$id);
	
	}

	function edit($id = null) {
		$data = $this->Session->read('User');
		if(!$data['User'])
		{
			$this->Session->setFlash('Debes iniciar Sesi&oacute;n o registrarte para modificar tus clasificados');
			$this->redirect('/login');
		}
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid Foto', true));
			$this->redirect(array('action'=>'index'));
		}
		if (!empty($this->data)) {
		
		//Inicia actualizacicion de foto			
			$this->data_update = $this->Foto->read(null, $id);
			if( !empty($this->data['Foto']['file']['name']))
			{
			    
			    
			    $foto = $this->data_update['Foto']['file']; 
			    if(file_exists( WWW_ROOT .'img/clasificados/'.$foto) && $foto != "" )
			    {
			        unlink(WWW_ROOT .'img/clasificados/'.$foto);
			    }
			    if(file_exists( WWW_ROOT .'img/clasificados/thumbs/'.$foto) && $foto != "" && $foto !='no-photo.jpg' )
			    {
			        unlink(WWW_ROOT .'img/clasificados/thumbs/'.$foto);
			    }
			
			
			
			    $foto = $this->data['Foto']['file'] = $this->subir_archivo('img/clasificados/', $this->data['Foto']['file']);
			    $this->resize_img(WWW_ROOT . 'img/clasificados/'. $foto, 500, WWW_ROOT . 'img/clasificados/' . $foto) ;
			    $this->resize_img(WWW_ROOT . 'img/clasificados/'. $foto, 90, WWW_ROOT . 'img/clasificados/thumbs/' . $foto) ;
			
			}
			else
			{
			    $this->data['Foto']['file'] = $this->data_update['Foto']['file']; 
			}
//FIN actualizacicion de foto
			
			if ($this->Foto->save($this->data)) {
				$this->Session->setFlash(__('Se guardo la foto', true));
				$this->redirect(array('controller'=>'clasificados','action'=>'edit',$this->data['Foto']['clasificado_id']));
			} else {
				$this->Session->setFlash(__('No se pudo guardar la foto trate otra vez', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Foto->read(null, $id);
		}
		$clasificados = $this->Foto->Clasificado->find('list');
		$this->set(compact('clasificados'));
	}

	function delete($id = null) {
		$data = $this->Session->read('User');
		if(!$data['User'])
		{
			$this->Session->setFlash('Debes iniciar Sesi&oacute;n o registrarte para modificar tus clasificados');
			$this->redirect('/login');
		}
		if (!$id) 
		{
			$this->Session->setFlash(__('Foto Invalida', true));
			$this->redirect(array('action'=>'index'));
		}
		
	    $this->data_update = $this->Foto->read(null, $id);
	    $clasificado= $this->Foto->Clasificado->findById($this->data_update['Foto']['clasificado_id']);
	    
	    if($clasificado['Clasificado']['user_id']==$data['User']['id'])
	    {
		    $foto = $this->data_update['Foto']['file']; 
				    
		    if( file_exists( WWW_ROOT .'img/clasificados/'.$foto) && $foto != "" )
		    {
				unlink(WWW_ROOT .'img/clasificados/'.$foto);
		    }
				    
		    if( file_exists( WWW_ROOT .'img/clasificados/thumbs/'.$foto) && $foto != "" )
		    {
				unlink(WWW_ROOT .'img/clasificados/thumbs/'.$foto);
		    }
		
		    if ($this->Foto->del($id)) 
		    {
				$this->Session->setFlash(__('Se borro la foto', true));
				$this->redirect('/clasificados/edit/'.$this->data_update['Foto']['clasificado_id']);
		    }
	    }
	    else
	    {
	    		$this->Session->setFlash(__('No puede borrar una foto que no le pertenece a un clasificado suyo', true));
				$this->redirect('/clasificados/edit/'.$this->data_update['Foto']['clasificado_id']);
	    }
	}


	function admin_index() {
	if(isset($this->params['admin']) && $this->params['admin']) {
		// check that a user is logged in
		    $this->check_user();
	    }
	$this->layout = "admin";
		$this->Foto->recursive = 0;
		$this->set('fotos', $this->paginate());
	}

	function admin_view($id = null) {
			if(isset($this->params['admin']) && $this->params['admin']) {
		// check that a user is logged in
		    $this->check_user();
	    }
	$this->layout = "admin";
		if (!$id) {
			$this->Session->setFlash(__('Invalid Foto.', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->set('foto', $this->Foto->read(null, $id));
	}

	function admin_add( $id = null ) {
			if(isset($this->params['admin']) && $this->params['admin']) {
		// check that a user is logged in
		    $this->check_user();
	    }
	$this->layout = "admin";
		if (!empty($this->data)) {
			$this->Foto->create();
			
			if(!empty( $this->data['Foto']['file']['name'] ))
			{
			    $foto = $this->data['Foto']['file']  = $this->subir_archivo('img/clasificados/', $this->data['Foto']['file']);
			    $this->resize_img(WWW_ROOT . 'img/clasificados/'. $foto, 500, WWW_ROOT . 'img/clasificados/' . $foto) ;
			    $this->resize_img(WWW_ROOT . 'img/clasificados/'. $foto, 100, WWW_ROOT . 'img/clasificados/thumbs/' . $foto) ;
				
			}
			else
            {
                $this->data['Foto']['file'] ='no-photo.jpg';
            }
			
			if ($this->Foto->save($this->data)) {
				$this->Session->setFlash(__('Se guardo la foto', true));
				$this->redirect(array('controller'=>'clasificados','action'=>'edit',$this->data['Foto']['clasificado_id']));
			} else {
				$this->Session->setFlash(__('The Foto could not be saved. Please, try again.', true));
			}
		}
		
		$this->set('clasificado',$id);
	}
	
	

	function admin_edit($id = null) {
			if(isset($this->params['admin']) && $this->params['admin']) {
		// check that a user is logged in
		    $this->check_user();
	    }
		$this->layout = "admin";
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Foto Invalida', true));
			$this->redirect(array('action'=>'index'));
		}
		if (!empty($this->data)) {
		
		
		//Inicia actualizacicion de foto			
			$this->data_update = $this->Foto->read(null, $id);
			if( !empty($this->data['Foto']['file']['name']))
			{
			    
			    
			    $foto = $this->data_update['Foto']['file']; 
			    if(file_exists( WWW_ROOT .'img/clasificados/'.$foto) && $foto != "" )
			    {
			        unlink(WWW_ROOT .'img/clasificados/'.$foto);
			    }
			    if(file_exists( WWW_ROOT .'img/clasificados/thumbs/'.$foto) && $foto != "" && $foto !='no-photo.jpg' )
			    {
			        unlink(WWW_ROOT .'img/clasificados/thumbs/'.$foto);
			    }
			
			
			
			    $foto = $this->data['Foto']['file'] = $this->subir_archivo('img/clasificados/', $this->data['Foto']['file']);
			    $this->resize_img(WWW_ROOT . 'img/clasificados/'. $foto, 500, WWW_ROOT . 'img/clasificados/' . $foto) ;
			    $this->resize_img(WWW_ROOT . 'img/clasificados/'. $foto, 90, WWW_ROOT . 'img/clasificados/thumbs/' . $foto) ;
			
			}
			else
			{
			    $this->data['Foto']['file'] = $this->data_update['Foto']['file']; 
			}
//FIN actualizacicion de foto
			if ($this->Foto->save($this->data)) {
				$this->Session->setFlash(__('Se actualizo la foto', true));
				$this->redirect(array('controller'=>'clasificados','action'=>'edit',$this->data['Foto']['clasificado_id']));
			} else {
				$this->Session->setFlash(__('No se pudo Actualizar la foto.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Foto->read(null, $id);
		}
		$clasificados = $this->Foto->Clasificado->find('list');
		$this->set(compact('clasificados'));
	}

	function admin_delete($id = null) {
			if(isset($this->params['admin']) && $this->params['admin']) {
		// check that a user is logged in
		    $this->check_user();
	    }
		$this->data_update = $this->Foto->read(null, $id);    
	    $foto = $this->data_update['Foto']['file']; 
			    
	    if( file_exists( WWW_ROOT .'img/clasificados/'.$foto) && $foto != "" )
	    {
			unlink(WWW_ROOT .'img/clasificados/'.$foto);
	    }
			    
	    if( file_exists( WWW_ROOT .'img/clasificados/thumbs/'.$foto) && $foto != "" )
	    {
			unlink(WWW_ROOT .'img/clasificados/thumbs/'.$foto);
	    }
		
		
		
		
		if (!$id) {
			$this->Session->setFlash(__('Foto Incorrecta', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Foto->del($id)) {
			$this->Session->setFlash(__('Se borro la foto', true));
			$this->redirect('/admin/clasificados/edit/'.$this->data_update['Foto']['clasificado_id']);
		}
	}

}
?>
